class Solution {
/**
* @param Integer[] $nums
* @return Integer[][]
*/
function permute($nums) {
$numsLen = count($nums);
//回溯
if(1 === $numsLen) {
return array($nums);
}
$arr = array();
//遍历当前所有数字,轮流当头牌
foreach($nums as $itemNum){
$itemArr = $nums;
//删除当前数字
unset($itemArr[array_search($itemNum, $itemArr)]);
//递归
foreach($this->permute($itemArr) as $resArr) {
array_unshift($resArr, $itemNum);
$arr[] = $resArr;
}
}
return $arr;
}
}